1. Field of the Invention
The present invention relates to the field of information processing, and in particular to a secondary data transfer network in a multi-processor environment.
2. Description of the Related Art
Many modern computer systems employ multiple processing units designed to perform a variety of tasks. In the typical mainframe or minicomputer, individual processing boards or "nodes" are mounted in a card cage and connected to a backplane so that data may be routed to and from the processing boards over a message routing network connected to the backplane. The node boards plugged into the backplane may also serve primarily as memory elements, which can be shared by the processor nodes.
For a variety of functions, computer system users and designers often desire to collect certain data from the individual nodes. For example, the system might be used to monitor the performance of the nodes. By keeping track of parameters such as the number of times each node accesses memory or a particular subroutine, the percentage of bus bandwidth being utilized, and the communication traffic between different node boards, a system designer can efficiently configure the computer system and application programs to optimize performance.
FIG. 1 illustrates a conventional method of collecting data from nodes in a multi-processor system. (The terms "multi-processor" and "multi-computer" are used interchangeably herein.) Nodes 101, 102, 103 and 104 communicate with each other over a routing network 105, which in this case is shown in the conventional "butterfly" form. One of the nodes may serve as a collection node 103 to receive the performance measurements (or other data to be collected) from the nodes over the same "butterfly" network that is used for interprocessor communications. The heavy lines in FIG. 1 illustrate the path in the routing network taken by information communicated between nodes 101 and 104. The line marked with squares defines the path traversed by information collected from node 101 by collection node 103. This routing diagram demonstrates that because collection data is sent over the same network as data used by the multi-processor system during routine operations, such as the running of application and operating system programs, both the routine operations and the data collection process contend for the same portion of the routing path. Such a dual-use configuration is dubbed an "invasive" data collection or monitoring technique.
Invasive methods pose special problems when the collection system is designed to measure system performance. Not only does an invasive monitoring system slow down the measurement process, but it also affects the measurements themselves. Because the performance data travels over the same paths as all other information communicated between the processors, it is nearly impossible to factor out the effects on system performance caused by the performance measurement process itself. This is due primarily to the randomness of contention events that occur when routing resources are to be shared.
One prior art solution to the problems posed by invasive performance monitoring techniques is to collect relevant data using an independent, noninvasive collection network. For example, FIG. 2 illustrates the use of a token ring 201 that is independent of message routing network 202 to collect performance data from nodes 203, 204 and 205. In this example, node 204 has possession of the token 206. Thus, node 204 has control of the token ring and can send information along the ring to a collection processor 207. A major deficiency of this serial collection method is that only one node can send messages along the token ring at a time. Consequently, processor 207 cannot collect real-time performance data and will actually miss the collection of certain real-time parameters unless the nodes store the relevant information until they obtain possession of the token and control the token ring.
The present invention overcomes the drawbacks of conventional implementations by providing a noninvasive secondary data transfer network that enables the asynchronous parallel collection of data from nodes in a multi-computer.